---
title: Application configuration settings
summary: Configuration keys, retrieval methods, and runtime dependencies for the Claims Legal application, consolidated across the entry-point web application and all consumed libraries.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-26
---

# Application configuration settings

Claims Legal's configuration surface is dominated by `IEnvironmentService`/`AppGlobal.EnvironmentService` (`GetConfigSetting`/`GetSecureConfigSetting`) settings that resolve outbound API endpoints, credentials, and the Oracle database/environment name; a small number of libraries also read `ConfigurationManager.AppSettings`-style keys, SQL Server BDS connection parameters, or declare Oracle ODP.NET provider registrations. Most consumed libraries (`SAIF.Application`, `SAIF.Business.Policy`, `SAIF.Business.Utilities`, `SAIF.Services.Export`, `SAIF.Services.Imaging.Import`) have no configuration footprint of their own beyond standard Oracle provider/assembly-binding boilerplate.

## Configuration retrieval methods

| Method | Class / Interface | Namespace | Usage pattern |
| --- | --- | --- | --- |
| `AppGlobal.EnvironmentService.GetConfigSetting(String)` / `New WindowsEnvironmentService().GetConfigSetting(String)` | `IEnvironmentService` | `SAIF.Framework.Security` | The dominant retrieval pattern across the application: called directly at the point of use (constructors, property getters, `LoadApiClients`-style initialization) to resolve plain-text URLs, database names, and non-keyed environment-identity checks. Used by the `Legal` web project itself and by most consumed libraries (`SAIF.Application.Claim.Legal`, `SAIF.Business.Claim.Legal`, `SAIF.Business.View.Policy`, `SAIF.Application.Claim`, `SAIF.Services.Printing`, `SAIF.Presentation.Web.Controls.PopUps.Infragistics111`). |
| `AppGlobal.EnvironmentService.GetSecureConfigSetting(String, systemHash)` | `IEnvironmentService` | `SAIF.Framework.Security` | Used by the `Legal` web project (`clsLegalModel`) to retrieve pipe-delimited credential pairs for outbound API authentication, keyed by a `SystemHashUtil`-computed system hash. |
| `AppGlobal.EnvironmentService.GetApplicationEnvironment()` | `IEnvironmentService` | `SAIF.Framework.Security` | Non-keyed environment-identity check (compared against `ApplicationEnvironment.Prod`) used in several libraries to gate non-Production-only behavior (email/calendar-sync redirection, Appworx target overrides). Not a keyed setting. |
| `ConfigurationManager.AppSettings` | `System.Configuration` | System | `Legal/Web.config` declares one static key (`ApplicationHost`) read via the standard ASP.NET `<appSettings>` mechanism. |
| `ApplicationSettingsBase` (`My.Settings`) | Various `My.MySettings` classes | Per-library `My` namespace | Design-time Web Reference URL defaults in `SAIF.Services.Printing`; superseded at runtime by `GetConfigSetting` calls in the same library's constructors and not otherwise read by consuming code. |

## Environment API settings

Settings retrieved via `IEnvironmentService`/`AppGlobal.EnvironmentService`, consolidated across the entry-point application and all consumed libraries.

| Setting key | Method | Purpose | Consuming class | Owning project |
| --- | --- | --- | --- | --- |
| `EnvironmentConfigKeys.OracleDatabase` | `GetConfigSetting` | Resolves the Oracle database/environment name used to construct the application's primary `IDataPortalInfo`/`clsMSOracleDataLayer` context. | `clsLegalModel` | `Legal` (entry-point) |
| `legalapi.url` | `GetConfigSetting` | Base URL for the internal `LegalApi` client registered in `DPI.ApiClients`. | `clsLegalModel` | `Legal` (entry-point) |
| `legalapi.creds` | `GetSecureConfigSetting` | Pipe-delimited NTLM credential pair for `LegalApi` authentication (`NtlmAuthenticator`). | `clsLegalModel` | `Legal` (entry-point) |
| `cc.ccclaimdataapiurl` | `GetConfigSetting` | Base URL for the `CCClaimDataApi` client (also consumed identically by `SAIF.Application.Claim.Legal`'s `LegalManagerBase`, registered as `ccclaimdataapi`). | `clsLegalModel` | `Legal` (entry-point) / `SAIF.Application.Claim.Legal` |
| `cc.matter.api.url.v1` | `GetConfigSetting` | Base URL for the Guidewire matter API client (`GWMatterApi`). | `clsLegalModel` | `Legal` (entry-point) |
| `cc.gwcreds` | `GetSecureConfigSetting` | Pipe-delimited HTTP Basic credential pair shared by the Guidewire matter, activity-data, and claim-data API clients. | `clsLegalModel` | `Legal` (entry-point) |
| `cc.activitydata.api.url.v1` | `GetConfigSetting` | Base URL for the Guidewire activity-data API client (`GWActivityData`). | `clsLegalModel` | `Legal` (entry-point) |
| `cc.claimdata.api.url.v1` | `GetConfigSetting` | Base URL for the Guidewire claim-data API client (`GWClaimDataApi`). | `clsLegalModel` | `Legal` (entry-point) |
| `xpressionsoutputdocumentspath` | `GetConfigSetting` | Filesystem output path for generated correspondence/letter documents. | `clsLetterRequest` | `SAIF.Business.Claim.Legal` |
| `Legal.LettersManagingAttorneyUserId` | `GetConfigSetting` | Default managing-attorney user ID fallback on letters when no attorney is assigned. | `clsLetterRequest` | `SAIF.Business.Claim.Legal` |
| `BDS_USER` | `GetConfigSetting` | SQL Server login/username for the secondary BDS (policy-security) connection. | `clsPolicySecurity` | `SAIF.Business.View.Policy` (consumed transitively by `SAIF.Business.Claim.Legal`) |
| `bdsDatabase` | `GetConfigSetting` | SQL Server host/instance name for the BDS connection. | `clsPolicySecurity` | `SAIF.Business.View.Policy` (consumed transitively by `SAIF.Business.Claim.Legal`) |
| `BDS_DATABASENAME` | `GetConfigSetting` | SQL Server database/catalog name for the BDS connection. | `clsPolicySecurity` | `SAIF.Business.View.Policy` (consumed transitively by `SAIF.Business.Claim.Legal`) |
| `imagingapiurl` | `GetConfigSetting` | Base URL for the claim-imaging API client (`ImagingClient`). | `ClaimAppManager` | `SAIF.Application.Claim` |
| `EnvironmentConfigKeys.OracleDatabase` | `GetConfigSetting` | Resolves the Oracle database/environment name to construct a `clsMSOracleDataLayer` context for popup-control lookups. | `ClaimActivityPopup`, `ImageMovePopup`, `TODOPopupControl` | `SAIF.Presentation.Web.Controls.PopUps.Infragistics111` |
| `documentGeneratorServiceUrl` | `GetConfigSetting` | SOAP endpoint for the xPression `clsGenerate` document-generation service. | `clsPrint` | `SAIF.Services.Printing` |
| `documentMSMQPath` | `GetConfigSetting` | MSMQ queue path used for asynchronous document distribution. | `clsPrint` | `SAIF.Services.Printing` |
| `idmFilePath` | `GetConfigSetting` | Filesystem path backing the `IDMPath` property (re-queried on each access). | `clsPrint` | `SAIF.Services.Printing` |
| `sqlReportingServiceUrl` | `GetConfigSetting` | SOAP endpoint for the SSRS `ReportExecutionService`. | `clsRSPrint` | `SAIF.Services.Printing` |

**Non-keyed environment-identity checks** (`GetApplicationEnvironment()`, documented for completeness — not configuration keys):

| Consumer | Purpose | Owning project |
| --- | --- | --- |
| `clsAssignmentManager.Testing` | Exposes whether the running environment is non-Production, used to run `clsAssignmentProcess` in "testing" mode outside Production. | `SAIF.Application.Claim.Legal` |
| `clsScheduleManager.SendDEFEmail` | Gates recipient-address redirection for Defense Evaluation Form reminder emails outside Production. | `SAIF.Application.Claim.Legal` |
| `clsAttorneySchedule.OnSave()` | Derives a `testing` flag so Exchange calendar-sync calls behave differently outside Production. | `SAIF.Business.Claim.Legal` |
| `clsConsolidations.ConsolidateCases()` | Same purpose as above. | `SAIF.Business.Claim.Legal` |
| `clsLegalSchedule.RemoveFromCalendars()` / `UpdateCalendars()` | Same purpose as above. | `SAIF.Business.Claim.Legal` |
| `SubmitBatchJob` (shared overload) | Selects between the `WCISPROD` and `WCISDEV1` Oracle Appworx targets when `inUseWCISDEV1AppworxForAllDevEnv = True`. | `SAIF.Services.Appworx` |
| `clsPrint` (constructor, via `IsProduction`) | Selects `m_Environment = "Prod"`/`"Dev"`. | `SAIF.Services.Printing` |

## AppSettings (Web.config)

| Setting key | Default value | Purpose | Consuming class | Owning project |
| --- | --- | --- | --- | --- |
| `ApplicationHost` | `np15` | Static application-host identifier declared in `<appSettings>`. | ASP.NET runtime (`ConfigurationManager.AppSettings`) | `Legal` (entry-point) |

No other library in the dependency chain declares `<appSettings>` keys or calls `ConfigurationManager.AppSettings`.

## Database connection configuration

| Connection name | Provider | Retrieval method | Purpose | Owning project |
| --- | --- | --- | --- | --- |
| Primary Oracle DPI | Oracle (ODP.NET Managed Driver) | `EnvironmentConfigKeys.OracleDatabase` via `GetConfigSetting`, plus programmatic `DataLayer.Database`/`DataLayer.DBUser` assignment | Primary claim/policy/legal data access for the application. | `Legal` (entry-point), `SAIF.Application.Claim.Legal`, `SAIF.Application.Claim`, `SAIF.Presentation.Web.Controls.PopUps.Infragistics111` |
| Secondary SQL Server BDS connection | SQL Server | `BDS_USER` / `bdsDatabase` / `BDS_DATABASENAME` via `GetConfigSetting` | Authorization/access-control stored-procedure lookups (group membership, loss-control book, group-policy list) — kept separate from the primary Oracle policy database. | `SAIF.Business.View.Policy` (consumed transitively by `SAIF.Business.Claim.Legal`) |
| Oracle ODP.NET provider registration (`DbProviderFactories` / `oracle.manageddataaccess.client`) | Oracle.ManagedDataAccess | Config-file section registration, no keyed connection string | Registers the ODP.NET managed driver provider factory so ADO.NET can resolve Oracle connectivity; declared identically in `Web.config`/`app.config` across nearly every consumed library (`Legal`, `SAIF.Application`, `SAIF.Application.Claim`, `SAIF.Application.Claim.Legal`, `SAIF.Business.Claim.Legal`, `SAIF.Business.Policy`, `SAIF.Business.View.Policy`, `SAIF.Business.Utilities`, `SAIF.Services.Appworx`, `SAIF.Services.Imaging.Import`, `SAIF.Presentation.Web.Controls.PopUps.Infragistics111`). | Application-wide |

## Custom configuration sections

| Section name | Handler type | Purpose | Owning project(s) |
| --- | --- | --- | --- |
| `oracle.manageddataaccess.client` | `OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess` | Oracle ODP.NET Managed Driver configuration-section registration; declared in `Web.config`/`app.config` across essentially every library that references `Oracle.ManagedDataAccess`, directly or transitively. | Application-wide |
| `applicationSettings` → `SAIF.Services.Printing.My.MySettings` | `System.Configuration.ClientSettingsSection` | Design-time Web Reference URL settings, superseded at runtime by `GetConfigSetting` calls in the same constructors. | `SAIF.Services.Printing` |

## Secure settings

| Setting key | Encryption method | Purpose | Consuming class | Owning project |
| --- | --- | --- | --- | --- |
| `legalapi.creds` | `GetSecureConfigSetting` keyed by `SystemHashUtil.[Get](SystemType.WebApp)` | NTLM credential pair for the internal `LegalApi` client. | `clsLegalModel` | `Legal` (entry-point) |
| `cc.gwcreds` | `GetSecureConfigSetting` keyed by `SystemHashUtil.[Get](SystemType.WebApp)` | HTTP Basic credential pair shared by the Guidewire matter, activity-data, and claim-data API clients. | `clsLegalModel` | `Legal` (entry-point) |

No other library in the dependency chain calls `GetSecureConfigSetting`.

## Transitive configuration (from dependencies)

| Setting key | Source dependency | Dependency type | Purpose |
| --- | --- | --- | --- |
| `BDS_USER`, `bdsDatabase`, `BDS_DATABASENAME` | `SAIF.Business.View.Policy` (`clsPolicySecurity`) | Project reference (via `SAIF.Business.Claim.Legal`) | Hidden dependency: a deployment inventorying only `SAIF.Business.Claim.Legal`'s own code could miss the requirement to provision these three keys for policy-security authorization lookups. |

`SAIF.Application`, `SAIF.Business.Policy`, `SAIF.Business.Utilities`, `SAIF.Services.Export`, and `SAIF.Services.Imaging.Import` were confirmed to have no configuration footprint of their own beyond standard Oracle provider/assembly-binding boilerplate, so they contribute no transitive keys.

## Configuration dependencies

| Dependency | Type | Required at | Impact if missing |
| --- | --- | --- | --- |
| `EnvironmentConfigKeys.OracleDatabase` | Environment API key | Application startup / first data access | The primary Oracle DPI context cannot be resolved; all Oracle-backed claim/policy/legal data access fails. |
| `legalapi.url` / `legalapi.creds` | Environment API key + secure setting | Request (LegalApi client construction) | The internal `LegalApi` client cannot authenticate or be constructed; LegalApi-routed calls fail. |
| `cc.ccclaimdataapiurl`, `cc.matter.api.url.v1`, `cc.gwcreds`, `cc.activitydata.api.url.v1`, `cc.claimdata.api.url.v1` | Environment API keys + secure setting | Request (Guidewire-adjacent API client construction) | Guidewire matter, activity-data, and claim-data API clients cannot be constructed or authenticated; downstream Guidewire integration calls fail. |
| `BDS_USER` / `bdsDatabase` / `BDS_DATABASENAME` | Environment API settings (transitive) | `clsPolicySecurity` construction | Authorization/access-control stored-procedure lookups (group membership, loss-control book, group-policy list) fail. |
| `oracle.manageddataaccess.client` / `DbProviderFactories` registration | Config file section | Application/library startup | Oracle ODP.NET Managed Driver provider cannot be resolved; all Oracle connectivity across the application fails. |
| `xpressionsoutputdocumentspath`, `documentGeneratorServiceUrl`, `documentMSMQPath`, `idmFilePath`, `sqlReportingServiceUrl` | Environment API settings | Letter/print/report generation | Correspondence generation, document distribution (MSMQ), and report preview/printing fail or use invalid paths/endpoints. |
| `imagingapiurl` | Environment API setting | Request (first `ClaimImageApiClient` access) | Claim image retrieval fails. |

## Environment variance

| Setting key | Varies by environment | Notes |
| --- | --- | --- |
| `EnvironmentConfigKeys.OracleDatabase` | Yes | Oracle database/environment name is inherently environment-specific. |
| `legalapi.url` / `cc.ccclaimdataapiurl` / `cc.matter.api.url.v1` / `cc.activitydata.api.url.v1` / `cc.claimdata.api.url.v1` / `imagingapiurl` / `documentGeneratorServiceUrl` / `sqlReportingServiceUrl` | Yes | Service endpoint URLs differ per dev/test/staging/production host. |
| `legalapi.creds` / `cc.gwcreds` | Yes | Credentials are environment-specific and stored securely (`GetSecureConfigSetting`). |
| `BDS_USER` / `bdsDatabase` / `BDS_DATABASENAME` | Yes | SQL Server BDS connection parameters vary per environment. |
| `documentMSMQPath` / `idmFilePath` | Yes* | Host/environment-specific paths; inferred from naming, not directly confirmed for `idmFilePath`. |
| `ApplicationHost` | Yes | Static per-deployment host identifier (`np15` in the current `Web.config`); would differ across environments/hosts. |
| `oracle.manageddataaccess.client` / `DbProviderFactories` registration | No | Fixed driver-registration configuration tied to the referenced package version, not environment-varying. |

## Related documentation
- [Application index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [Data model](data-model.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts.

## Sources
- `Legal\Web.config`
- `Legal\Classes\clsLegalModel.vb`
- [SAIF.Application.Claim.Legal configuration](../libraries/saif-application-claim-legal/configuration.md)
- [SAIF.Business.Claim.Legal configuration](../libraries/saif-business-claim-legal/configuration.md)
- [SAIF.Business.Policy configuration](../libraries/saif-business-policy/configuration.md)
- [SAIF.Business.View.Policy configuration](../libraries/saif-business-view-policy/configuration.md)
- [SAIF.Business.Utilities configuration](../libraries/saif-business-utilities/configuration.md)
- [SAIF.Application configuration](../libraries/saif-application/configuration.md)
- [SAIF.Application.Claim configuration](../libraries/saif-application-claim/configuration.md)
- [SAIF.Services.Appworx configuration](../libraries/saif-services-appworx/configuration.md)
- [SAIF.Services.Printing configuration](../libraries/saif-services-printing/configuration.md)
- [SAIF.Services.Export configuration](../libraries/saif-services-export/configuration.md)
- [SAIF.Services.Imaging.Import configuration](../libraries/saif-services-imaging-import/configuration.md)
- [SAIF.Presentation.Web.Controls.PopUps.Infragistics111 configuration](../libraries/saif-presentation-web-controls-popups-infragistics111/configuration.md)
